package com.wsj.service;

import java.util.List;
import java.util.Map;

import com.wsj.util.exception.BusinessException;
import com.wsj.web.vo.homeSite.BmClassType;
import com.wsj.web.vo.homeSite.HomeSiteNewsClass;

public interface IHomeSiteNewsClassServ {

	public boolean addNewsClass(HomeSiteNewsClass hs) throws BusinessException;
	
	public boolean deleteNewsClass(Long hsId) throws BusinessException;
	
	public boolean deleteNewsClassByParentId(Long parentId) throws BusinessException;
	
	public boolean updateNewsClass(HomeSiteNewsClass hs) throws BusinessException;
	
	public HomeSiteNewsClass loadNewsClassById(Long hsId) throws BusinessException;
	
	public List loadNewsClassList(Long parentId,Integer typeId) throws BusinessException;
	
	public List loadListByClassTypeId(Integer classTypeId) throws BusinessException;

	public List loadAllNewsClass() throws BusinessException;
	
	public String getSeq(Long newsClassId,Long parId) throws BusinessException;
	
	public String getChildStr(Long parentId,Integer typeId,Integer branch,Integer selected) throws BusinessException;
	
	public boolean updateSeq(Long newsClassId,Long parId) throws BusinessException;
	
	
	public HomeSiteNewsClass loadNewsClassByNames(String names,Integer typeId) throws BusinessException;

	//检查分类 名称是否存在
	public HomeSiteNewsClass loadNewsClassByNames(String names)throws BusinessException;

	/*****
	 * 获取该分类(广告/新闻)下的所有分类id
	 * @param typeId
	 * @return
	 * @throws BusinessException
	 */
	public List loadFirstHomeSiteNewsClassByType(Integer typeId)throws BusinessException;
	
	
	/******
	 * 通过父类的id,查询出广告的分类
	 * 如果该分类属于广告分类,或者子类下属于广告分类的list
	 */
	public Map loadSecondHomeSiteNewsClassByType(Integer typeId,Long parenId) throws BusinessException;
	
	/******
	 * 加载广告分类下面的子分类
	 */
	public Map loadSecondHomeSiteNewsClassByAdType(Long parenId) throws BusinessException;
	
	/*****
	 * 通过广告描述表中的分类id,获取描述列表
	 */
	public Map loadAdBannerListByHomeSiteNewsClassId(Long classId) throws BusinessException;

	/*****
	 * 通过广告描述表中的分类id,获取描述列表
	 * @param parId
	 * @return
	 * @throws BusinessException
	 */
	public Map<Long, String> loadSecondHomeSiteNewsClassByNewsType(Long parId)throws BusinessException;

	public BmClassType loadBmNewsTypeByName(String string)throws BusinessException;;

	public List<HomeSiteNewsClass> loadSCHQNewsClassList(Long id, Integer id2, Integer top)throws BusinessException;

	/**********
	 * 通过seq,获取导航的列表对象
	 * @param seq
	 * @return
	 * @throws BusinessException
	 */
	public List<HomeSiteNewsClass> getHomeSiteNewsClassListBySeq(String seq)throws BusinessException;

	
}
